"""
@name : 08-多进程-fork
@author : wenyao
@projectname: xsfh
"""
#一个进程都是由另一个进程创建的
#linux中所有进程的父进程pid为0

import os, time

print("start......")

pid = os.fork()
#父进程运行时pid为子进程的pid， 子进程运行时这个pid就是0
print("outerside  pid is:",pid)
if pid == 0:
    print("child process")
    time.sleep(1)
    print("child pid is:", os.getpid())
    print("child-parent pid is:", os.getppid())
else:
    print("parent process")
    time.sleep(60)
    print("parent pid is :",os.getpid())

#孤儿进程：一个父进程退出，子进程还在运行，那么这个子进程就会成为孤儿进程，
#        孤儿进程就会被pid为1的进程所收养
#僵尸进程：子进程退出，父进程没有响应。父进程没有去调用wait()或者waitpid()去获取子进程的状态，
#        子进程的进程控制块就会依然保存在系统中，这种进程称之为僵尸进程